home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr49 / tranx0d.zip / TRANX0D.DOC < prev    next >
Text File  |  1995-02-23  |  21KB  |  424 lines

  1.  
  2.       TranX - System to system CMOS clock syncronizer - version 0.D
  3.  
  4.                         What's new in this version?
  5.  
  6.           1   File Sharing support added, no more file copying
  7.           2   TranX uses Bios screen writes rather than Direct
  8.  
  9.               If you are upgrading from versions prior to 0.C
  10.      ┌──                                                           ──┐
  11.      │    BinkleyTerm, FrontDoor and The Box logs are supported      │
  12.      │                                                               │
  13.      │          Notice! BinkleyTerm 2.58 breaks TranX 0.1            │
  14.      │          The additional information containing the            │
  15.      │          Seconds: / Tariff: /Fee: and System: from            │
  16.      │          the log foils TranX when parsing the file            │
  17.      │                                                               │
  18.      │ -t  won't allow system time to be set ahead beyond midnight   │
  19.      │ -y  won't allow system time to be set back before midnight    │
  20.      │ -a<value> add to remote system's time (DST/Time_Zone)         │
  21.      │ -s<value> subtract from remote's time (DST/Time_Zone)         │
  22.      │ -m<value> maximum time difference to be allowed from remote   │
  23.      │                                                               │
  24.      │          more command line switches, just in case..           │
  25.      │                                                               │
  26.      │ -*<tranxkeyword> * Option " Tranx: " search. ie " Trx#: " *   │
  27.      │ -[<value> Maximum allowable clock change forward          *   │
  28.      │ -]<value> Maximum allowable clock change reverse          *   │
  29.      │ -@<char> delimeter to look for between tranx hex strings  *   │
  30.      │ -e<endsrch> * end  session search when <endsrch> is found *   │
  31.      │ -x<stpsrch> * stop session search when <stpsrch> is found *   │
  32.      │                                                               │
  33.      │    Be careful to read the section on these new features!      │
  34.      └─                                                             ─┘
  35.  
  36.                 If you are upgrading from version 0.C
  37.  
  38.      The -d switch has been removed. TranX uses file sharing instead.
  39.      This means faster execution, less memory used and tighter code..
  40.  
  41.                                 DEFINITION
  42.  
  43.      TranX borrows its name from the Emsi information passed between two
  44.      mail systems which keep a log wherein the keyword Tranx: appears...
  45.      What follows this keyword is the seconds from 0 GMT (in hex) which
  46.      have passed since the beginning of 1970.
  47.  
  48.      0 Greenwich Mean Time is the standard computers use to keep time
  49.      internally. The program TranX, uses this information to compare the
  50.      time of the remote system to the time on the resident computer. By
  51.      doing some calculations and a low DOS function, the CMOS time on the
  52.      resident computer may be adjusted to match that of the remote.
  53.  
  54.      Systems lose time for a variety of reasons. This can be attributed
  55.      the hardware, multitasking or the use of programs which demand the
  56.      computer's entire attention such as games.
  57.  
  58.      TranX clock updating is not 100 % accurate. Correctness depends on
  59.      the speed at which both systems report the Tranx: value during a
  60.      session. Meaning, the time the clocks were actually read and then
  61.      reported. Also the subsequent operation of TranX.exe afterwards
  62.      affects the results. The cmos updating can be skewed by as much as
  63.      several seconds. Ideally the mailer software would read its clock
  64.      and immediately send that information to the remote system and visa
  65.      versa. I don't know if this is the case or not. I do know that a
  66.      few functions must happen in the TranX.exe between the time the
  67.      system clock is read until it issues an update from the information
  68.      previously read from the mailer log and the system clock. Generally
  69.      these functions should take very little time but they do add to the
  70.      potential for error. In conjunction with disk speed and possible
  71.      multitask operations, seconds can elapse between what is reported
  72.      and what actually takes place.
  73.  
  74.      The smaller the log file TranX has to read the more quickly it
  75.      can operate. However, this does not affect the accuracy of the
  76.      clock change.
  77.  
  78.      In the examples, angular brackets <> signify a required parameter.
  79.      Square brackets [] indicate that the parameter is not necessarily
  80.      required. The brackets themselves are not to be used.
  81.  
  82.      Usage:
  83.      TranX <remote_ID> [log file] [/o<srch> [/q] [/n] /L<trnx.log>] [?]
  84.      TranX Joe_Sysop fd.log /oJane_Sysop /q /n /Lkeeper.log /s7200
  85.      TranX ?
  86.  
  87.      In its simplest form:
  88.      TranX <remote_ID>
  89.  
  90.      In its simplest form with most switches:
  91.      TranX <remote_ID> /n /L /q /t /y /m7150 /a3600 /e_RING
  92.      TranX <remote_ID> /n /L /q /t /y /m7150 /s3600 /e_BINK_Connect_
  93.  
  94.      The term "object" in this document refers to something in the log
  95.      file which can be identified as a character, word or sentence. An
  96.      object can contain up to 79 characters.
  97.  
  98.                      Choosing a Remote Identifier
  99.  
  100.            An object which appears more than once within an individual
  101.            mail session is not a good choice for a remote identifier.
  102.  
  103.      NOTE: Use the remote's SYSTEM name whenever possible. The next
  104.            best option is the SYSOP's name, providing it is will be
  105.            unique in your log. Using the remote system's address is
  106.            not the best choice because it can appear more than once
  107.            within a mail session.  Currently TranX handles this but
  108.            mailer log files in the future may change that.  See the
  109.            notes on using the -e<srch> and -x<srch> options.
  110.  
  111.        TranX needs 3 pieces of information (objects) from the mailer log
  112.        ─────────────────────────────────────────────────────────────────
  113.      1 - An object which always appears in the log from the system you
  114.          wish to set your clock to. This object must appear before the
  115.          second object.
  116.      2 - Tranx: must appear in the mailer log AFTER the beginning search
  117.          object. Binkley and Front Door both provide this object. It is
  118.          followed by two hex numbers separated by a space, slash, space.
  119.          As of this version, TranX will accept another tranxkeyword  by
  120.          using the -*<tranxkeyword> on the command line. Details follow.
  121.      3 - A session end object such as _BINK_Ring or _RING. This tells
  122.          TranX to cease its search for object #2 and signals TranX that
  123.          it has reached the end of a mail session within the log.
  124.  
  125.      NOTE: Object #2 does not appear in the binkley log below loglevel 3
  126.            Ring does not appear below loglevel 4. However you can tell
  127.            TranX to accept up to 2 other objects which appear after
  128.            object #2. Currently the defaults appear to be adequate for
  129.            Binkley at loglevel 4 and Front Door. There are two command
  130.            line switches followed by a search string which add to the
  131.            default mail session limiter list.
  132.  
  133.      TranX requires at least one command line parameter. It could be the
  134.      sysOps' name or the name of a system. It must be unique to in your
  135.      log so TranX will not be fooled into setting your clock to the wrong
  136.      system. The search object is case sensitive CHRIS_MANN is different
  137.      than Chris_Mann. If the search string has embedded spaces, use the
  138.      underscore where the spaces would be. Otherwise TranX will interpret
  139.      the spaces to be an additional command line parameter. Don't worry
  140.      about literal underscores unless the search object(s) contain both
  141.      underscores and spaces. Otherwise TranX will interpret them correctly
  142.      in the search.
  143.  
  144.      Here are some simple examples using TranX, others are elsewhere
  145.      throughout this document:
  146.  
  147.                   TranX Lost_in_the_cartoon
  148.                   TranX Chris_Mann
  149.                   TranX Chris_Mann_from_Akron,_OH e:\mailer\fdlog.tue
  150.                   TranX BINK_SysOp_Chris_Mann /n
  151.  
  152.      The first three would net the same result on my system. The forth
  153.      would run and display the progress but forego the CMOS clock update
  154.      because of the /n switch (which can serve as a test). Example three
  155.      specifically looks for a file named fdlog.tue to read. If not found
  156.      the program will abort. If no logfile is specified TranX will look
  157.      for 4 mailer log files by default in the following order.
  158.  
  159.      binkley.log
  160.      mailer.log
  161.      fd.log
  162.      box.log
  163.  
  164.      If no log file is specified and none of the four can be found, TranX
  165.      will abort. You can use just about anything on the command line and
  166.      TranX will happily try to process the parameters supplied. Be sure
  167.      you have your parameters in the correct order. 
  168.  
  169.      Once again it is TranX <remote_ID> [search.log] [/or- switches]
  170.  
  171.      The primary search object must be specified first and the search
  172.      log (if not one of the defaults) must be supplied second.
  173.  
  174.      You may also tell TranX to create a log file of its activity (it's
  175.      a good idea to use the /L and the /n switches to begin with).
  176.  
  177.      TranX Lost_in_a_cartoon c:\bt\Bink.log /Lc:\logs\tranx.log /q
  178.  
  179.      This will search BINK.LOG for the the object "Lost in a cartoon"
  180.      (without the quotes) and send a report to c:\logs\tranx.log in
  181.      the quiet (no screen display) mode.
  182.  
  183.      Using the /L with nothing following, defaults to Tranx.log in the
  184.      current directory. You should probably use the /L switch at least
  185.      for a time in order to be certain TranX is doing what you want.
  186.  
  187.      NOTE: Do not prefix the primary or secondary search_object nor the
  188.      search logfile with a switch symbol of / or -.
  189.  
  190.      Another command which requires a switch (- or /) is the quiet mode
  191.      - /q. You can tell TranX to be quiet by placing /q on the command
  192.      line AFTER the search criteria (address, sysOp, system_name etc.).
  193.  
  194.      example:  TranX James_Young /q
  195.                TranX 221B_Baker_Street c:\bt\binkley.log /q
  196.  
  197.      This keeps TranX from printing anything to the screen.
  198.  
  199.      You may print the output to a file or device or to an existing log
  200.      by redirecting output with the dos redirect symbols >>. Be aware
  201.      that file sharing may come into play. An option to redirecting
  202.      screen output is to use the /L option already mentioned in this
  203.      document.
  204.  
  205.      Syntax: TranX <Remote_ID> fname  or  TranX <Remote_ID> >> fname
  206.      Example: TranX Patriot_BBS >> TranX.Log
  207.  
  208.      Another command requiring a switch is /o followed by a secondary
  209.      search criteria. If for some reason you want your system to be
  210.      updated when TranX finds an additional entry in the mailer log
  211.      file, you may specify that by using the optional search parameter.
  212.  
  213.      Example: TranX Chris_Mann /oAkron_Echo_Hub
  214.  
  215.      This would have TranX update the CMOS clock to a system which
  216.      sends one or the other (Chris Mann or Akron Echo Hub) in the Emsi
  217.      connect. The last one found will be the system the CMOS clock
  218.      gets set to.
  219.  
  220.      TranX will only update the CMOS clock if a newer update is found in
  221.      the log file. This is accomplished by storing the latest tranx time
  222.      from the remote in a file named lastclok.fil. Leave this file alone
  223.      as the loss of it may cause your system to advance or retard time
  224.      in the CMOS clock to something you do not want. However, subsequent
  225.      runs of TranX should correct the error unless lastclok.fil is
  226.      missing on a regular basis.
  227.  
  228.      Case insensitive command line switches (are preceded by / or -)
  229.  
  230.      /q  quiet mode   (no video output)
  231.      /L<tranx.log> or any name you choose - /L defaults to tranx.log
  232.      /n  NoWrite mode (CMOS time will not be updated)
  233.      /o<secondary_search_object> TranX can search for two remote_IDs
  234.      /y  same day or later safety switch for event sensitive systems
  235.      /t  same day or earlier safety switch for event sensitivity
  236.      /a3600 Adds 1 hour to the remote's time for time zone adjustment
  237.      /s7200 Subtracts two hours from remote's time for the same reason
  238.      /m3500 Remote's acceptable limit difference, otherwise no change
  239.      /e<endsrch>  Allows a command line session search limit object
  240.      /x<stopsrch> Allows an additional session search limit object
  241.      /*<trxword> Option to Tranx: search. Example /*_Trx#:_ (The BOX)
  242.      /[<value> Maximum allowable clock change forward
  243.      /]<value> Maximum allowable clock change reverse
  244.      /@- delimeter to expect between tranx hex strings other than /
  245.  
  246.      Please note that the forward slash '/' or hyphen '-' is used for
  247.      command line switches and NOT the backslash '\'. The only use for
  248.      the backslash is to define where the mailer logfile (which is the
  249.      2nd parameter) and the path of the tranx log but only after it
  250.      has been called using /L<filepath> ala dos syntax.
  251.  
  252.      The /N switch automatically comes ON if the /M<value>, /[<value>
  253.      or the /]<value> is exceeded and/or the /Y and /T switches are used
  254.      and TranX detects a date rollover in the direction prohibited by
  255.      the respective switch(es).  You can use the /T and /Y together to
  256.      insure your system will not be updated if a date change would be
  257.      invoked before your system changes the date on its own.
  258.      The /M<value>, /[<value> and /]<value> are there for time zone
  259.      and day light savings time adjustments as well as protection in
  260.      case the remote's clock takes an unreasonable jump. ie if the CMOS
  261.      setup on the remote were to be lost its clock will go back to
  262.      January 1st 1980, quite an undesirable situation..
  263.  
  264.      The /M<value> will override a /[<val> or /]<val> if the /M<val>
  265.      is greater than one of the other update limiters.
  266.  
  267.      ***  The /E and /X <end_session_search> command line switches  ***
  268.  
  269.      In default mode, your log MUST contain the following objects when
  270.      your phone rings AND when your systems polls another system;
  271.  
  272.       for binkley
  273.       " BINK Ring")!
  274.       " BINK Dialing "
  275.  
  276.       for front door
  277.       "  RING"
  278.       "  Calling "
  279.  
  280.      By default TranX will know to stop searching a session for the
  281.      Tranx: information by one of the objects shown above. It is
  282.      critical that TranX find the respective end of session objects!
  283.  
  284.      You can add up to two more session limit search objects if needed;
  285.  
  286.      /e<end_session_search>
  287.      /x<stop_session_search>
  288.  
  289.      All search objects must be case correct!
  290.  
  291.      Examine the edited binkley log example below and notice how TranX
  292.      determines it has reached the end of the specifed session for a
  293.      clock update. Keep in mind the default end_of_search objects..
  294.  
  295.      BINK Ring                                 <▓ END_OF_SEARCH object
  296.      BINK Connect 14400/Arq/V42B
  297.      BINK Lost in the cartoon, Chris's point. (1:157/534.30@fidonet)
  298.      BINK Aka: 100:1/1@eaglenet 8:1006/0.30@fmlynet
  299.      BINK Remote Uses BinkleyTerm 2.58/(Esc 1.70)
  300.      BINK SysOp: Chris Mann from Akron, OH     <▓ START_SEARCH object <──┐
  301.      BINK Tranx: 2D092162 / 2D092163           <▓ Tranx time sync info   │
  302.      BINK Session method: ZedZap                                         │
  303.      BINK CPS: 1092 (1092 bytes)  Efficiency: 75%                        │
  304.      BINK Sent-Z/32 D:\Bt\Out\009d0216.pnt\0000ffe2.sa0                  │
  305.      BINK CPS: 1583 (56988 bytes)  Efficiency: 109%                      │
  306.      BINK Sent-Z/32 D:\NODEDIFF\FMLYLIST.A44                             │
  307.      BINK CPS: 670 (1341 bytes)  Efficiency: 46%                         │
  308.      BINK Sent-Z/32 D:\TICK\TK104442.tic                                 │
  309.      BINK End of WaZOO/EMSI Session                                      │
  310.      BINK Seconds: 59  Tariff: 0  Fee: 0  System: 1:157/534.30@fidonet   │
  311.                                                                          │
  312.      BINK Processing node 1:157/516@fidonet -- Project Thunder           │
  313.      BINK Dialing 677-9336&N3                  <▓ END_OF_SEARCH object <─┘
  314.      BINK Ringing
  315.      BINK Connect 14400/Arq/Mnp4
  316.      BINK Project Thunder (ssci) (1:157/516@fidonet)
  317.      BINK Aka: 8:1006/40@fmlynet
  318.      BINK Remote Uses BinkleyTerm 2.58/(UNREGISTERED)
  319.      BINK SysOp: Kevin Benton from Stow, OH
  320.      BINK Tranx: 2D12AE41 / 2D12AFA4
  321.      BINK Session method: ZedZap
  322.      BINK Nothing to send to 8:1006/40@fmlynet
  323.      BINK End of WaZOO/EMSI Session
  324.      BINK Seconds: 12  Tariff: 5  Fee: 120  System: 1:157/516@fidon
  325.  
  326.      TranX SysOp:_Chris_Ma d:\max\max.log /e_Processing_ /xBINK_Ringing
  327.  
  328.      The command line above does the following;
  329.  
  330.      TranX will open the file d:\max\max.log and search it until the
  331.      beginning object "SysOp: Chris Ma" is found. Once located, TranX
  332.      will scan for the object " Tranx:" UNTIL it has found any of the
  333.      default ending objects or the specified  "BINK_Processing_"  OR
  334.      "BINK_Ringing" is found. If the word "Tranx:" isn't found between
  335.      the four objects, TranX continues by once again searching the log
  336.      for the beginning object AFTER it has located any one of the 4
  337.      session end objects (two defaults and two command line). This
  338.      process continues until the end of the file is reached.
  339.  
  340.      With the /e<end_search> and /x<end_search> features, TranX offers
  341.      some level of flexibility to its hard coded defaults. Hopefully
  342.      you do not connect to a system which uses one of the defaults in
  343.      their system identification line. Connecting to a mailer which
  344.      has a name like "The Calling Card" will cause TranX to fail the
  345.      Tranx: search on that particular system every time..
  346.  
  347.      As always, you must replace spaces with underscores.  If literal
  348.      underscores are in the ending search object, TranX still handles
  349.      it correctly because TranX tests an object in both formats. The
  350.      caveat here is an object which contains both space(s) and under-
  351.      score(s). If this is the case, choose another search object which
  352.      doesn't contain both.
  353.  
  354.      .................................................................
  355.  
  356.      Here's an extensive example using TranX:
  357.  
  358.      TranX Express f:\fd\fd.log /oEcho_Hu /n /Ld:\logs\tranx.log /q
  359.  
  360.      TranX should search for "Express" in the log found on drive f: in
  361.      the subdirectory \fd. It should also search for "Echo_Hu" in the
  362.      same file. A log of activity is to be created or appended to, on
  363.      drive d: in the subdirectory \logs in the file tranx.log. The
  364.      CMOS clock is NOT to be updated (/n) and there is to be no output
  365.      to the screen (/q).
  366.  
  367.      The example would be a little useless in that the log would be
  368.      searched and a report would be sent to d:\logs\tranx.log. No
  369.      update would be performed and nothing would be echoed to the
  370.      screen.
  371.  
  372.      The version 0.1 added parameters (samples).
  373.  
  374.      TranX John_Burden /oMail_Centre /t /s28800
  375.  
  376.      This would search for "John Burden" and "Mail Centre" in one of
  377.      the default mail logs and adjust the resident system clock to
  378.      the remote system (Mail_Centre) taking into consideration an 8
  379.      hour time difference (s/28800). TranX would take care not to
  380.      reset the clock forward into the next day (/t)..
  381.  
  382.      TranX Ian_Smith /a50400 /q /m54060
  383.  
  384.      This would search for Ian Smith, add 14 hours to the value found
  385.      from his system and disable any screen output while never allow-
  386.      ing a difference of more than one hour and one minute after the
  387.      /a<value> factor)..
  388.  
  389.      When to run TranX?
  390.      After a mail transaction, a scheduled event, virtually anytime.
  391.  
  392.      Where to run TranX?
  393.      From the command line or a batch file.
  394.  
  395.      ────────────────────────────────────────────────────────────────
  396.  
  397.      TranX is free but it is not to be packaged with other software
  398.      without the author's consent. Nor may other software be packaged
  399.      with Tranx. If it is to be distributed, the archive must contain
  400.      this document (tranx.doc) and original unaltered executable.
  401.  
  402.      Use TranX at your own risk. The author takes NO responsibility
  403.      for any possible damage which could occur due to its use. If you
  404.      are skeptical about the safety of using this program and do not
  405.      wish to take precautionary measures to insure TranX will do no
  406.      damage, then do not use it.
  407.  
  408.      Acknowledgement, comments and suggestions of a constructive
  409.      nature are appreciated. Please send them to:
  410.  
  411.      Glen Gilbert  8:1006/0@fmlynet
  412.                    8:70/101@fmlynet (HelpNet)
  413.                    1:157/534@fidonet
  414.                    440:130/534 IGA_Net
  415.  
  416.                    (216)628-4860 data/fax - USRobotics V.Everything
  417.  
  418.      Thanks to;
  419.      Chris Mann, Jim Ball and David Kanavy for testing TranX.
  420.      Ian Smith and Steve Gove for their (implemented) suggestions.
  421.      James Young for clock set accuracy testing. Arno Kromdijk
  422.      for a portion of his "The_Box" log, so it could be supported.
  423.  
  424.